FC++: Functional tools for object-oriented tasks

نویسندگان

  • Yannis Smaragdakis
  • Brian McNamara
چکیده

FC++ is a library for programming functionally in C++. Compared to other C++ functional programming libraries, FC++ is distinguished by its powerful type system which allows manipulating parametrically polymorphic functions (e.g., passing them as arguments to other functions and returning them as results). In this paper, we show how FC++ can be used in common OO programming tasks. We demonstrate FC++ implementations of several common design patterns (Adapter, Builder, Command, and more). Compared to conventional C++ implementations of these patterns, our implementations are either simpler (in that fewer classes/dependencies are needed), more efficient, or more type-safe (thanks to parametric polymorphism and type-inference).

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Modelsaz: An Object-Oriented Computer-Aided Modeling Environment

Modeling and simulation of processing plants are widely used in industry. Construction of a mathematical model for a plant is a time-consuming and error-prone task. In light of extensive advancements in computer science (both hardware and software), computers are becoming a necessary instrument in industrial activities. Many software tools for modeling, simulation and optimization of proces...

متن کامل

Tool Support for Design by Contract

Numerous experience reports indicate that prototyping is a serious and successful development strategy. We believe that it is not sufficient to provide graphical notations for object-oriented analysis, but that the notation of contracts in conjunction with prototyping, i.e., building executable models, is the proper technique for mastering complexity and gaining insights into a problem domain. ...

متن کامل

Disentangling dynamic networks: Separated and joint expressions of functional connectivity patterns in time.

Resting-state functional connectivity (FC) is highly variable across the duration of a scan. Groups of coevolving connections, or reproducible patterns of dynamic FC (dFC), have been revealed in fluctuating FC by applying unsupervised learning techniques. Based on results from k-means clustering and sliding-window correlations, it has recently been hypothesized that dFC may cycle through severa...

متن کامل

A Programming Language for Teaching Concurrent Object-Oriented Concepts

Studying concurrency one of the major difficulties is the need for a variety of programming languages to be available. But expecting students to learn at the same time a lot of languages is clearly undesirable. Concurrent object-oriented concepts can be understood more successfully if we have a programming language furnishing us with different kind of tools expressing concurrency and object-ori...

متن کامل

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Softw., Pract. Exper.

دوره 32  شماره 

صفحات  -

تاریخ انتشار 2002